import axios from 'axios'
import qs from 'qs'

const http = {
		//post方法
		post: (url, data = {}) => {
			return new Promise((resolve, reject) => {
				if(global.COURSES.log_message){
					console.log(data)
				}
				var that = global.COURSES.that
				that.$store.dispatch('showloader', true)
				axios.post(url, data,{
					headers: {
						'Content-Type': 'application/json;charset=UTF-8'
					},
					timeout: 30000                     // 设置请求超时时间30s
				}).then((response) => {
					that.$store.dispatch('showloader', false)
					if(global.COURSES.log_message){
						console.log(response.data)
					}
					if(response.data.code==0){
						resolve(response.data);
					}else{
						alert(response.data.message)
					} 
				}).catch((error) => {
					console.log(error)
					alert('请求出错，请重试')
					that.$store.dispatch('showloader', false)
					if (!error.data.success) {
					alert('操作失败：' + error.data.message);
					} else {
					alert('服务器错误：' + error.data.message)
					}
					reject(error)
				})
			})
		},
		//get方法
		get: (url, params = {}) => {
			return new Promise((resolve, reject) => {
				if(global.COURSES.log_message){
					console.log(data)
				}
				var that = global.COURSES.that
				that.$store.dispatch('showloader', true)
				axios.get(url, {params: qs.stringify(params)},{
					headers: {
						'Content-Type': 'application/json;charset=UTF-8'
					},
					timeout: 30000                     // 设置请求超时时间30s
				}).then((response) => {
					that.$store.dispatch('showloader', false)
					resolve(response.data);
				}).catch((error) => {
					console.log(error)
					that.$store.dispatch('showloader', false)
					if (!error.data.success) {
					alert('操作失败：' + error.data.message);
					} else {
					alert('服务器错误：' + error.data.message)
					}
					//返回错误信息
					reject(error)
				})
			})
		}
}
export default http;

// //添加请求拦截器
// axios.interceptors.request.use（function（config）{
// 	//在发送请求之前做某事
// 	return config;
//   }，function（error）{
// 	//请求错误时做些事
// 	return Promise.reject（error）;
//   }）;

// //添加响应拦截器
// axios.interceptors.response.use（function（response）{
// 	//对响应数据做些事
// 	return response;
//   }，function（error）{
// 	//请求错误时做些事
// 	return Promise.reject（error）;
//   }）;
